package com.up4years.dataapi.service.base;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.up4years.dataapi.entity.base.Page;


@Component
@Transactional
public class CachedBaseManager extends BaseManager {

	@Override
	public <T> int delete(String statementName, T entity) {
 		return super.delete(statementName, entity);
	}

	@Override
	public <T> int update(String statementName, T entity) {
 		return super.update(statementName, entity);
	}

	@Override
	public <T> int insert(T entity) {
		return super.insert(entity);
	}

	@Override
	public <T> int insert(String statementName, T entity) {
		return super.insert(statementName, entity);
	}

	@Override
	public <T> int insert(String statementName, Map<String, Object> parameters) {
		return super.insert(statementName, parameters);
	}

	@Override
	public <T> int batchInsert(List<T> entities) {
		return super.batchInsert(entities);
	}

	@Override
	public <T> List<T> get(String statementName, String parameter) {
		return super.get(statementName, parameter);
	}

	@Override
	public <T> int batchInsert(String statementName, List<T> entities) {
		return super.batchInsert(statementName, entities);
	}

	@Override
	public <T> int delete(Class<T> entity, Object[] parameters) {
		return super.delete(entity, parameters);
	}

	@Override
	public <T> int delete(String statementName, Object[] parameters) {
		return super.delete(statementName, parameters);
	}

	@Override
	public <T> int update(T entity) {
		return super.update(entity);
	}

	@Override
	public int update(String statementName, Map<String, Object> parameters) {
		return super.update(statementName, parameters);
	}

	@Override
	public int updateNoClearMap(String statementName,
			Map<String, Object> parameters) {
		return super.updateNoClearMap(statementName, parameters);
	}

	@Override
	public <T> T get(Class<T> entity, Object[] parameters) {
		return super.get(entity, parameters);
	}

	@Override
	public <T> T get(String statementName, Object[] parameters) {
		return super.get(statementName, parameters);
	}

	@Override
	public <T> T get(String statementName, Map<String, Object> parameters) {
		return super.get(statementName, parameters);
	}
 	@Override
	public <T> T getNoClearMap(String statementName,
			Map<String, Object> parameters) {
		return super.getNoClearMap(statementName, parameters);
	}

	@Override
	public <T> T get(Class<T> entity, Long id) {
		return super.get(entity, id);
	}

	@Override
	public <T> List<T> query(Class<T> entity, Map<String, Object> parameters) {
		return super.query(entity, parameters);
	}
	@Override
	public <T> List<T> query(String statementName, Object[] args) {
		return super.query(statementName, args);
	}

	@Override
	public <T> List<T> queryNoClearMap(Class<T> entity,
			Map<String, Object> parameters) {
		return super.queryNoClearMap(entity, parameters);
	}

	@Override
	public <T> List<T> query(String statementName,
			Map<String, Object> parameters) {
		return super.query(statementName, parameters);
	}

	@Override
	public <T> List<T> queryNoClear(String statementName,
			Map<String, Object> parameters) {
		return super.queryNoClear(statementName, parameters);
	}

	@Override
	public <T> Map<String, T> queryMap(String statementName,
			Map<String, Object> parameters, String key) {
		return super.queryMap(statementName, parameters, key);
	}

	@Override
	public <T> Map<String, T> queryMapNoClear(String statementName,
			Map<String, Object> parameters, String key) {
		return super.queryMapNoClear(statementName, parameters, key);
	}

	@Override
	public <T> void pageQuery(Class<T> entity, Page<T> page,
			Map<String, Object> parameters) {
		super.pageQuery(entity, page, parameters);
	}

	@Override
	public <T> void pageQuery(Page<T> page, String statementName,
			Map<String, Object> parameters) {
		super.pageQuery(page, statementName, parameters);
	}

	@Override
	public int update(String statementName, Object[] args) {
 		return super.update(statementName, args);
	}
 
	
	@Override
	public <T> T get(String statementName, Long id) {
		return super.get(statementName, id);
	}
	@Override
	public <T> List<T> query(String string, Object entity) {
		return super.query(string, entity);
	}
	@Override
	public <T> List<T> query(String statementName, String parameter) {
		return super.query(statementName, parameter);
	}

	@Override
	public <T> List<T> query(String statementName) {
 		return super.query(statementName);
	}
	 
}
